﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class Administrador_Moviles_ModificarMovil : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void ButtonVerDatos_Click(object sender, EventArgs e)
    {
        if (ButtonVerDatos.Text.Trim().CompareTo("Ver datos") == 0)
        {//el boton debe mostrar los datos
            try
            {
                //autorellenar campos
                DataSetEscorpiusTour.MOVILDataTable ds = new DataSetEscorpiusTour.MOVILDataTable();
                MovilBLL movilbll = new MovilBLL();

                //seleccionar campos
                ds = movilbll.mostrarMovilesByPatente(DropDownListMoviles.Text.Trim());
                TextBoxTipo.Text = ds.Rows[0][1].ToString();
                TextBoxAno.Text = ds.Rows[0][2].ToString();
                TextBoxCapacidad.Text = ds.Rows[0][3].ToString();

                //el boton impide que se cambie el rut
                DropDownListMoviles.Enabled = false;

                //el boton cambia de nombre
                ButtonVerDatos.Text = "Limpiar";

                //esconder mensajes
                LabelMensaje.Visible = false;

            }
            catch (Exception ex)
            {
                LabelMensaje.Text = "Error al autorrellenar campos.";
                LabelMensaje.Visible = true;
            }
        }
        else
        {//el boton no es ver datos, entonces es "Ver otros"
            //el boton desbloquea el droplist de operadores
            DropDownListMoviles.Enabled = true;

            //el boton borra los datos actuales
            TextBoxTipo.Text = "Tipo";
            TextBoxAno.Text = "";
            TextBoxCapacidad.Text = "0";

            //el boton cambia de nombre
            ButtonVerDatos.Text = "Ver datos";

            //esconder mensajes
            LabelMensaje.Visible = false;
        }
    }
    protected void ButtonModificar_Click(object sender, EventArgs e)
    {
        try
        {
            //validar los datos
            bool es_valido = true;

            //patente no se valida pues proviene de la base de datos
            //tipo (string, not null)
            //año (int, null)

            //los campos anteriores estan validados en la vista

            //capacidad (int, not null)
            if (es_valido == true)
            {
                string value = TextBoxCapacidad.Text;
                int number;
                bool result = Int32.TryParse(value, out number);
                if (result == false)
                {//el texto no se puede convertier a entero
                    LabelMensaje.Text = "Capacidad no válida.";
                    LabelMensaje.Visible = true;
                    es_valido = false;
                }
            }
            

            //modificar movil///////////////////////////////////////////////////////

            if (es_valido == true)
            {//si ha pasado todas las pruebas
                //rescatar datos validados!

                string patente = DropDownListMoviles.Text.Trim();
                string tipo = TextBoxTipo.Text.Trim();
                int ano = int.Parse(TextBoxAno.Text);
                int capacidad = int.Parse(TextBoxCapacidad.Text);

                MovilBLL movilbll = new MovilBLL();//conexion con modelo

                int filas_afectadas = movilbll.modificarMovil(tipo, ano, capacidad, patente);
                if (filas_afectadas == 0)
                {
                    LabelMensaje.Text = "Imposible modificar móvil.";
                    LabelMensaje.Visible = true;
                }
                else
                {
                    LabelMensaje.Text = "Móvil modificado exitósamente.";
                    LabelMensaje.Visible = true;
                }
            }
        }
        catch (Exception)
        {
            LabelMensaje.Text = "Error al modificar móvil.";
            LabelMensaje.Visible = true;
        }
    }
}
